home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Environments / Clean 1.2.4 / IOInterface / font.dcl < prev    next >
Encoding:
Modula Definition  |  1997-04-23  |  791 b   |  29 lines  |  [TEXT/3PRM]

  1. definition module font;
  2.  
  3. //    Version 0.8 to 1.0
  4.  
  5. ::    Font;
  6.  
  7. ::    FontNum        :== Int;
  8. ::    FontName    :== {#Char};
  9. ::    FontStyle    :== {#Char};
  10. ::    FontSize    :== Int;
  11. ::    FontInfo    :== (!Int, !Int, !Int, !Int);
  12.  
  13. MinFontSize        :== 6;
  14. MaxFontSize        :== 128;
  15.  
  16. FontAtts        :: !Font -> (!FontNum, !FontName, ![FontStyle], !FontSize);
  17. StyleToStyleID    :: ![FontStyle] -> Int;
  18.  
  19. SelectFont        :: !FontName  ![FontStyle] !FontSize -> (!Bool, !Font);
  20. DefaultFont        :: (!FontName,![FontStyle],!FontSize);
  21. FontNames        ::                            [FontName];
  22. FontStyles        :: !FontName            ->    [FontStyle];
  23. FontSizes        :: !FontName            ->    [FontSize];
  24. FontCharWidth    :: !Char        !Font    ->    Int;
  25. FontCharWidths    :: ![Char]        !Font    ->    [Int];
  26. FontStringWidth    :: !{#Char}        !Font    ->    Int;
  27. FontStringWidths:: ![{#Char}]    !Font    ->    [Int];
  28. FontMetrics        ::                !Font    ->    FontInfo;
  29.